package club.dmyang.dao;

import club.dmyang.entity.Article;
import club.dmyang.entity.ArticleWithBLOBs;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ArticleMapper {
    int deleteByPrimaryKey(Integer aid);

    int insert(ArticleWithBLOBs record);

    int insertSelective(ArticleWithBLOBs record);

    ArticleWithBLOBs selectByPrimaryKey(Integer aid);

    int updateByPrimaryKeySelective(ArticleWithBLOBs record);

    int updateByPrimaryKeyWithBLOBs(ArticleWithBLOBs record);

    int updateByPrimaryKey(Article record);

    /**
     * 查询表中category_id=categoryId的文章的数目
     * (用于删除分类时，判断某分类下是否有文章)
     */
    int selectNumByCategoryId(Integer categoryId);

    /**
     * 通过开始索引和每页容量查询文章列表
     * @param start
     * @param Limit
     * @return
     */
    List<Article> selectByStartAndLimit(@Param("start") Integer start, @Param("limit") Integer Limit);

    /**
     * 查询数据库中所有文章的个数
     * （用于分页插件计算一个有多少页）
     * @return
     */
    int selectAllNum();

}